package com.wicket.okrapp.web.contorller;

import com.wicket.okrapp.biz.service.ProgressPublicTechnicaCapacityService;
import com.wicket.okrapp.biz.service.dto.req.*;
import com.wicket.okrapp.biz.service.dto.res.*;
import com.wicket.okrapp.common.ro.OkrResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/app/progressPublicTechnicaCapacity/")
public class ProgressPublicTechnicaCapacityController {

  @Autowired
  ProgressPublicTechnicaCapacityService progressPublicTechnicaCapacityService;
/**
   * D3回写关闭托底更新状态(公共)
   */
    @PostMapping("writeBackCloseProgressStatusCom")
    public OkrResult<WriteBackCloseProgressStatusComRespDto> writeBackCloseProgressStatusCom(@RequestBody @Validated WriteBackCloseProgressStatusComReqDto reqDTO){
    return OkrResult.success(progressPublicTechnicaCapacityService.writeBackCloseProgressStatusCom(reqDTO));
    }
/**
   * D3执行统计数据集单条进度值(公共)
   */
    @PostMapping("implementCountDataSingleProgressCom")
    public OkrResult<ImplementCountDataSingleProgressComRespDto> implementCountDataSingleProgressCom(@RequestBody @Validated ImplementCountDataSingleProgressComReqDto reqDTO){
    return OkrResult.success(progressPublicTechnicaCapacityService.implementCountDataSingleProgressCom(reqDTO));
    }
/**
   * D3执行操作单条进度值(公共)
   */
    @PostMapping("implementOperateSingleProgressCom")
    public OkrResult<ImplementOperateSingleProgressComRespDto> implementOperateSingleProgressCom(@RequestBody @Validated ImplementOperateSingleProgressComReqDto reqDTO){
    return OkrResult.success(progressPublicTechnicaCapacityService.implementOperateSingleProgressCom(reqDTO));
    }
/**
   * D3执行强托底进入条件判断(公共)
   */
    @PostMapping("implementJudgmentEentryConditionsStrongSupportCom")
    public OkrResult<ImplementJudgmentEentryConditionsStrongSupportComRespDto> implementJudgmentEentryConditionsStrongSupportCom(@RequestBody @Validated ImplementJudgmentEentryConditionsStrongSupportComReqDto reqDTO){
    return OkrResult.success(progressPublicTechnicaCapacityService.implementJudgmentEentryConditionsStrongSupportCom(reqDTO));
    }
/**
   * D3查询多内容操作进度列表
   */
    @PostMapping("queryMultiContentOperateProgressList")
    public OkrResult<QueryMultiContentOperateProgressListRespDto> queryMultiContentOperateProgressList(@RequestBody @Validated QueryMultiContentOperateProgressListReqDto reqDTO){
    return OkrResult.success(progressPublicTechnicaCapacityService.queryMultiContentOperateProgressList(reqDTO));
    }
/**
   * D3查询单内容操作进度详情
   */
    @PostMapping("querySingleContentOperateProgressDetail")
    public OkrResult<QuerySingleContentOperateProgressDetailRespDto> querySingleContentOperateProgressDetail(@RequestBody @Validated QuerySingleContentOperateProgressDetailReqDto reqDTO){
    return OkrResult.success(progressPublicTechnicaCapacityService.querySingleContentOperateProgressDetail(reqDTO));
    }
/**
   * D3执行初始化进度值(公共)
   */
    @PostMapping("implementInitializeProgressValueCom")
    public OkrResult<ImplementInitializeProgressValueComRespDto> implementInitializeProgressValueCom(@RequestBody @Validated ImplementInitializeProgressValueComReqDto reqDTO){
    return OkrResult.success(progressPublicTechnicaCapacityService.implementInitializeProgressValueCom(reqDTO));
    }
/**
   * D3分析托底更新权重进度场景(公共)
   */
    @PostMapping("implementAnalyseTorrUpdateWeightProgressSceneCom")
    public OkrResult<ImplementAnalyseTorrUpdateWeightProgressSceneComRespDto> implementAnalyseTorrUpdateWeightProgressSceneCom(@RequestBody @Validated ImplementAnalyseTorrUpdateWeightProgressSceneComReqDto reqDTO){
    return OkrResult.success(progressPublicTechnicaCapacityService.implementAnalyseTorrUpdateWeightProgressSceneCom(reqDTO));
    }
/**
   * D3执行更新任务或树状态(公共)
   */
    @PostMapping("implementUpdateTaskOTreeStateCom")
    public OkrResult<ImplementUpdateTaskOTreeStateComRespDto> implementUpdateTaskOTreeStateCom(@RequestBody @Validated ImplementUpdateTaskOTreeStateComReqDto reqDTO){
    return OkrResult.success(progressPublicTechnicaCapacityService.implementUpdateTaskOTreeStateCom(reqDTO));
    }
}
